package com.zb.mapper;

import java.util.List;
import java.util.Map;

import com.zb.entity.Filetable;




public interface FiletableMapper{
	
	public Filetable getFileById(int id);
	
	public List<Filetable> getRootFile(int did);
	
	public List<Filetable> getListById(Map<String, Object> map);
	/**
	 * 根据副id查询当前文件夹下的子集
	 * @param did
	 * @return
	 */
	public List<Filetable> getListByPid(int did);
	/**
	 * 根据用户的部门编号得到部门的根文件夹。由于sql不是根据主键查询因此返回list取第一
	 * @param did
	 * @return
	 */
	public List<Filetable> getRootFileByDeptId(int did);
	/**
	 * 修改文件信息
	 * @param ft
	 * @return
	 */
	public int updateFileInfo(Filetable ft);
	/**
	 * 根据路径获被修改路径影响的其他子文件
	 * @param path
	 * @return
	 */
	public List<Filetable> getChildByPath(String path);
	/**
	 * 向数据库中添加文件
	 * @param ft
	 * @return
	 */
	public int addFile(Filetable ft);
	/**
	 * 此方法用于修改文件的删除状态
	 * @param ft
	 * @return
	 */
	public int updateFileState(Filetable ft);
	/**
	 * 获取用户回收站中的文件
	 * @param userid
	 * @return
	 */
	public List<Filetable> getDeleteFileList(int userid);
	/**
	 * 根据id删除单个数据
	 * @param id
	 * @return
	 */
	public int delectFileById(int id);
	/**
	 * 根据路径模糊查询子集数据删除
	 * @param path
	 * @return
	 */
	public int delectFlistByPath(String path);
	
	public int delectFlieByDeptId(int did);
}